Skip to content

Conversation

@upayanmazumder
Copy link
Member

No mix -> dont mix morning and evening theory etc
Same building -> same building
Closer -> closer classes

This pull request introduces significant improvements to how timetable data is filtered and displayed, focusing on enhancing the user experience by adding "smart" filtering options and supporting classroom venue information throughout the timetable selection and display process. The changes also ensure that venue data is consistently propagated and visible in the UI.

Key changes include:

Smart Filtering and Pagination Enhancements

  • Added new "smart filter" options in ViewTimeTable.tsx to allow users to filter timetables by criteria such as all classes being in the same building, classrooms being close together, or avoiding mixes of morning and evening slots. These filters use both venue and slot geometry data for more relevant results. The UI now provides buttons for these filters, updates pagination to reflect filtered results, and disables navigation buttons appropriately. [1] [2] [3] [4] [5]

  • Pagination logic has been updated so that when a smart filter is active, only the matching timetables are shown and navigated through, ensuring a more intuitive experience. [1] [2]

Venue Data Propagation

  • The timetable data structure and related functions have been updated to include optional venue information for each faculty/slot assignment, ensuring that classroom locations are available for filtering and display. This includes updates in both the timetable generation logic and the display components. [1] [2] [3] [4] [5] [6] [7]

UI and Usability Improvements

  • The CompoundTable component and its data types now support displaying venue information, allowing users to see classroom locations directly in the timetable view. [1] [2]

  • Action buttons and navigation controls are now conditionally rendered/enabled based on the presence of timetable data, preventing user errors and improving clarity. [1] [2]

Code Quality and Maintainability

  • Refactored slot and venue extraction logic for clarity and maintainability, including helper functions for slot analysis and venue proximity checks.

  • Added missing import for getSlot utility to support slot geometry calculations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant